帮忙用C语言做一个程序>.<~~~~

来源:百度知道 编辑:UC知道 时间:2024/06/08 00:43:05
因为是从外文翻译过来的,有些话我自己看了都匪夷所思,不知道各位大大能否用程序员的头脑去理解- -|||有疑问可以发信息给我共同探讨...

期限是本日傍晚6点......谢谢大家^_^

PS:请写上注释

----------------------分割线--------------------------

请作成符合一下要求的程序.

1.用户输入20个英文字母.
1)如果输入是1个完成的句子,则需用空格区分每个单词.
2)对于所输入句子的单词,先假定是无(拼写)错误的(如把apple拼成appel则也认为是一个单词).
3)一个单词的长度不能超过10个字母.

2.用户再次输入一个单词,然后判断此单词是否在上次输入的句子中出现.
-如果出现此单词不存在句中的情况,则显示错误菜单,并要求重新输入.

3.用户输入的句子与之后所输入单词核对的函数作成要求:
1)选择最后一个单词时,从第一个单词开始核对.
2)用户输入一个char,要表示出这个char在单词中存在的情况(例如:_pp_e)
3)有10次的核对机会,若达到10次后依旧错误,则输出该单词.

4.实行一次程序后,询问是否终止程序,若选择否,则返回开始重新进行程序.
-从使用户输入一个单词的部分开始反复(步骤2).

5.若所输入的内容为单词与char时,则不区别大小写.

-------------------------------------------------------------
执行示例:

Input Word String: apple orange computer
Input Word: age
输入的单词不存在于句子
Input Word: apple
_ _ _ _ _ _(注:用同样多的"_"将该单词的长度表示出来)
Input Char(Chance 10) : P
_ _ _ _ _

#include <stdio.h>
#include <stdlib.h>

void main()
{
char *one_line;
char ci[20];
char ju[12][20];
unsigned char cai;
char yes[4];
int n;
int i,j,k,l,LL;
one_line = (char*)malloc(300*sizeof(char));

Lab0:;
printf("Input Word String: ");
gets(one_line);
LL = strlen(one_line);
k = sscanf(one_line, "%s %s %s %s %s %s %s %s %s %s %s %s",
ju[0],ju[1],ju[2],ju[3],ju[4],ju[5],ju[6],ju[7],ju[8],ju[9],ju[10],ju[11]);
n = k;
// printf("number of words: %d\n",n);
Lab_input_word:;
printf("Input Word: ");
scanf("%s", &ci[0]);
l = strlen(ci);
for (i=0;i<n;i++){
if (strcmp(ci,ju[i])==0){
for (j=0;j<l;j++) printf("-");
printf("\n");
goto Lab_chance;
}; // if
}; // for
printf("There is no the Word %s in word string\n",